package main

import "fmt"

func printArray(arr [5]int) {
	arr[0] = 239
	for i, v := range arr {
		fmt.Println(i, v)
	}
}

func main() {
	var arr1 [5]int         //初值零值 0, false, ''
	arr2 := [3]int{1, 3, 5} //: 定义要赋初值
	arr3 := [...]int{3, 4, 6, 4, 7}
	//arr4 := [...]int{5, 3, 7, 4, 9, 2}
	var grid [4][5]int
	fmt.Println(arr1, arr2, arr3)
	fmt.Println(grid)

	for i := 0; i < len(arr2); i++ { //遍历
		fmt.Println(arr2[i])
	}
	for i := range arr3 {
		fmt.Println(arr3[i])
	}
	for i, v := range arr3 {
		fmt.Println(i, v)
	}
	/*
		todo: range遍历数组
		- 可通过 _ 省略变量
		- 不仅range, 任何地方都可以通过 _ 省略变量
		- 如果只要 i, 可写成 for i := range numbers
	*/
	for _, v := range arr3 {
		fmt.Println(v)
	}
	fmt.Println("printArray(arr1):")
	printArray(arr1)
	fmt.Println("printArray(arr3):")
	printArray(arr3)
	fmt.Println("Print(arr):")
	fmt.Println(arr1, arr3) //todo: 数组是值类型, 调用函数拷贝数组
	//printArray(arr2)
	//printArray(arr4) // 长度不一样不能传值
}

/*


 */
